{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Raw Input Data\n",
    "\n",
    "The data you'll be working with has been preprocessed from CSVs that looks like this:\n",
    "\n",
    "| timestamp | displacement  | yaw_rate | acceleration |\n",
    "| :-------: | :----------: | :------: | :----------: |\n",
    "| 0.0 | 0 | 0.0 | 0.0 |\n",
    "| 0.25 | 0.0 | 0.0 | 19.6 |\n",
    "| 0.5 | 1.225 | 0.0 | 19.6 |\n",
    "| 0.75 | 3.675 | 0.0 | 19.6 |\n",
    "| 1.0 | 7.35 | 0.0 | 19.6 |\n",
    "| 1.25 | 12.25 | 0.0 | 0.0 |\n",
    "| 1.5 | 17.15 | -2.82901631903 | 0.0 |\n",
    "| 1.75 | 22.05 | -2.82901631903 | 0.0 |\n",
    "| 2.0 | 26.95 | -2.82901631903 | 0.0 |\n",
    "| 2.25 | 31.85 | -2.82901631903 | 0.0 |\n",
    "| 2.5 | 36.75 | -2.82901631903 | 0.0 |\n",
    "| 2.75 | 41.65 | -2.82901631903 | 0.0 |\n",
    "| 3.0 | 46.55 | -2.82901631903 | 0.0 |\n",
    "| 3.25 | 51.45 | -2.82901631903 | 0.0 |\n",
    "| 3.5 | 56.35 | -2.82901631903 | 0.0 |\n",
    "\n",
    "This data is currently saved in a file called `trajectory_example.pickle`. It can be loaded using a helper function we've provided (demonstrated below):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(0.0, 0, 0.0, 0.0)\n",
      "(0.25, 0.0, 0.0, 19.600000000000001)\n",
      "(0.5, 1.2250000000000001, 0.0, 19.600000000000001)\n",
      "(0.75, 3.6750000000000003, 0.0, 19.600000000000001)\n",
      "(1.0, 7.3500000000000005, 0.0, 19.600000000000001)\n",
      "(1.25, 12.25, 0.0, 0.0)\n",
      "(1.5, 17.149999999999999, -2.8290163190291664, 0.0)\n",
      "(1.75, 22.049999999999997, -2.8290163190291664, 0.0)\n",
      "(2.0, 26.949999999999996, -2.8290163190291664, 0.0)\n",
      "(2.25, 31.849999999999994, -2.8290163190291664, 0.0)\n",
      "(2.5, 36.749999999999993, -2.8290163190291664, 0.0)\n",
      "(2.75, 41.649999999999991, -2.8290163190291664, 0.0)\n",
      "(3.0, 46.54999999999999, -2.8290163190291664, 0.0)\n",
      "(3.25, 51.449999999999989, -2.8290163190291664, 0.0)\n",
      "(3.5, 56.349999999999987, -2.8290163190291664, 0.0)\n"
     ]
    }
   ],
   "source": [
    "from helpers import process_data\n",
    "%matplotlib inline\n",
    "\n",
    "data_list = process_data(\"trajectory_example.pickle\")\n",
    "\n",
    "for entry in data_list:\n",
    "    print(entry)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "as you can see, each entry in `data_list` contains four fields. Those fields correspond to `timestamp` (seconds), `displacement` (meters), `yaw_rate` (rads / sec), and `acceleration` (m/s/s).\n",
    "\n",
    "### The Point of this Project!\n",
    "**Data tells a story but you have to know how to find it!** \n",
    "\n",
    "Contained in the data above is all the information you need to reconstruct a fairly complex vehicle trajectory. After processing **this** exact data, it's possible to generate this plot of the vehicle's X and Y position:\n",
    "\n",
    "![](https://d17h27t6h515a5.cloudfront.net/topher/2017/December/5a3044ac_example-trajectory/example-trajectory.png)\n",
    "\n",
    "as you can see, this vehicle first accelerates forwards and then turns right until it almost completes a full circle turn.\n",
    "\n",
    "### Data Explained\n",
    "\n",
    "**`timestamp`** - Timestamps are all measured in seconds. The time between successive timestamps ($\\Delta t$) will always be the same *within* a trajectory's data set (but not *between* data sets).\n",
    "\n",
    "**`displacement`** - Displacement data from the odometer is in meters and gives the **total** distance traveled up to this point.\n",
    "\n",
    "**`yaw_rate`** - Yaw rate is measured in radians per second with the convention that positive yaw corresponds to *counter-clockwise* rotation. \n",
    "\n",
    "**`acceleration`** - Acceleration is measured in $\\frac{m/s}{s}$ and is always **in the direction of motion of the vehicle** (forward). \n",
    "\n",
    "> **NOTE** - you may not need to use all of this data when reconstructing vehicle trajectories."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Your Job\n",
    "Your job is to complete the following functions, all of which take a processed `data_list` (with $N$ entries, each $\\Delta t$ apart) as input:\n",
    "\n",
    "* `get_speeds` - returns a length $N$ list where entry $i$ contains the speed ($m/s$) of the vehicle at $t = i \\times \\Delta t$ \n",
    "\n",
    "* `get_headings` - returns a length $N$ list where entry $i$ contains the heading (radians, $0 \\leq \\theta < 2\\pi$) of the vehicle at $t = i \\times \\Delta t$\n",
    "\n",
    "* `get_x_y` - returns a length $N$ list where entry $i$ contains an `(x, y)` tuple corresponding to the $x$ and $y$ coordinates (meters) of the vehicle at $t = i \\times \\Delta t$ \n",
    "\n",
    "* `show_x_y` - generates an x vs. y scatter plot of vehicle positions. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f91680c1668>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# I've provided a solution file called solution.py\n",
    "# You are STRONGLY encouraged to NOT look at the code\n",
    "# until after you have solved this yourself.\n",
    "#\n",
    "# You SHOULD, however, feel free to USE the solution \n",
    "# functions to help you understand what your code should\n",
    "# be doing. For example...\n",
    "from helpers import process_data\n",
    "import solution\n",
    "\n",
    "data_list = process_data(\"trajectory_example.pickle\")\n",
    "solution.show_x_y(data_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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Xo2DCZ/Iz6WlpRVL+ICtx9i7d2+DIiJX3333HRITE2G1WhETE+N2m3vvvbdGYuGQDpGfu/3220uVDRo0qNiBXDLG5s2bkZCQgNzcXPTu3RsWi7EplwmfyM+1bt0aPXv2LFbG4RzjbdiwAYmJibhw4QIAoE+fPgZHxIRPZAq865VvWbt2LUaMGIFLly45y/r27WtgRDZM+EQmkJqa6nzepk0bREdHGxhN7bZixQqMHj262BQXIoJevXoZGJUNEz6RCbRv3x49evQAYOvdi4jBEdVOixcvxh133FHqoreuXbv6xI3lmfCJTMIxrJOQkGBwJLXTvHnzcPfdd6OoqKjUOl8YvweY8IlMIzU1FSKC+Hjed8gIqampOHbsGN54441S65jwiaha/fLLL+jWrRteeOEF55khVHMaNmyIpk2b4t133wUAhIaGokuXLgB844AtwIRPZBq7du3C7t278cYbbzDhG2TOnDn46aefAABPP/00Fi5ciGbNmvnMNBe80pbIJHgTFM9ZrVZkZmZi586dSElJcU5qVhG5ubl49tlnAQBt27bFpEmTULduXSxdutRnDqJ7vYcvIokikiEiWSLyREVeU1BQgJSUFHTo0AEPPvggli9fjuHDh+Ott97C4cOHAQDz58/HuHHjsHjxYpw9e7bY6x944AFMnToVX3/9tdspYnNycjB06FC88soryMjIuGYs77zzDiZMmIClS5fi/Pnz5cZ+6dIljBgxAi+88AJ27txZ5ux47rz77ru45557KtxWSSdPnsSwYcPw0ksvYd++fZVqu6RJkyZh8uTJWL9+fbXMr75kyRL85je/wcKFC/HLL794XJ/DgQMHMGzYMMyaNQs///xztdXrcOnSJSQnJ2PatGmV/ntWhtVqxbhx4/DEE09gy5Ytbg/8laeyN0G5//778cgjj+Cbb76p0amUH3roIUyZMgUbNmwwfO7+kydPYvXq1fjTn/6EoUOHIjw8HF27dkWdOnUqlewBYPr06c739owZM5y3Lezfv3+1x11lquq1B4AAAAcAtAdQB8APAGLK2v7mm29Wh/fee08BOB8BAQHO5zfccIM+9thjGh4e7lx322236SuvvKIZGRm6efNm57ahoaF655136oIFC/T06dPO+h988EHnNtHR0Tp16lT9+uuv9erVq+rq7Nmz2qhRIwWgQUFBOmTIEJ01a5YeOHBAyzJz5kxn3S1bttQ//OEP+vnnn+ulS5fKfI2qam5urjZu3NjZVnx8vL7xxhvXbKukyZMnO9vu0KGDTpkyRdevX19qv8rz/fffO+tp2LChpqWl6YcffqinTp2qVD0O+fn52qZNGwWgFotFb731Vp05c6b+61//UqvVWqU6He666y5nrDExMfr444/r5s2btbCw0KN6HV5++WVn/VFRUXr//ffrmjVryv17Vtby5cud7YSHh+v48eN1yZIleu7cuQq9/pNPPnG+fvfu3eVuv3HjRuf2YWFh+pvf/EYXLlyov/zyi6e7ck3ffvttsf/PO+64Q+fPn1/s/9Mb8vLydPPmzfrqq6/qnXfe6Xw/lswzS5YsqXTdBw4c0Dp16igA7d27t8fv6coCkK4VyMmiXuqxAICI9AHwnKoOsy8/CQCq+qK77UNCQtRxay9VdfbmKys8PBx5eXm4cuVKyXjQqlUrdOrUCY0aNcLSpUtLvTY4OBjR0dHo1KkToqOjUa9ePXz22WfYuXNnqW0jIiLQqVMndOrUCS1btnTOk3Hx4kW8/PLL7vYPQ4YMQePGjREREYGGDRuW2mblypXYsWNHqfKYmBgkJyc7v2auXr3a7b7n5OQ4Dxq5Cg0NRWJiIlJSUjB8+HCEh4cDAKZNm+a2HgCYPXs2Tp06VaxMRNCnTx+kpKQgJSUFMTExxb6ufvzxx9i/f7/b+tavX4/NmzeXKu/QoQNSUlKQnJyMAQMGICgoqNQ227Ztw1dffeW23qysLCxYsKBUeXh4OJKSkpCcnIxhw4Zd8zzoQ4cOYf78+W7X5eXl4aWXXipVXq9ePSQkJCA5ORnJycmIjIwss36Hc+fOYdasWW7XWa1WzJgxo9RwTFBQEAYMGOD8nbdv397t61euXInRo0cDAP75z38iLi4OBQUFePFFt/9uAIDXX38dubm5xcosFgv69evnbK9Tp06VHpKwWq34n//5nzLXv/nmm6W+6VksFvTt29f5Pu/SpUu1DYUcOXIEiYmJ2LdvX5nbWCwWfPTRRxg7dmyl63/77bfx0EMPAQC2bt1a4xPXich2VY0rd8OKfCpU9QEgDcB7LsvjAcy+xvalPnH5KP1o0KCBR6939LBnz57tcSzt2rXTSZMm6ZEjR1RVdeTIkR7V5/hGtnHjxmI9mNdee82jegMDAzU+Pl7nzp3rtuf/zTffePy7iIuL0xkzZmheXl6ZPbEjR4543E5MTIw+9dRTzh5xRkaGWq1WXbt2rXObLVu2aF5enq5bt87j9q6//np99NFH9fjx49fuZrooKCjwuN327dvr1KlTNTs7u8LtXsvFixeLfRt0fYiILly40KP6//nPf+r06dOrJdbKQgV7+N4+aOvu41mLbSAyEcBEL8fhUwIDA1FYWFjp1zl6QFFRUfjkk0+q1HbLli2dPbdBgwbh4YcfrlI99erVw5AhQ5CSkoIRI0agRYsWVarH1S233OKMrXv37h7X59C+fXtnvf3790dAQEC11Q3YvumNGDECKSkpSEhIQEhISLXW71DWt7RFixZhzZo1uO2225zbzps3D2vWrMHUqVOr3F5ISAiGDh3q/Bt768baJTm+OTnarcg3p/Lk5eXhtddec/vNWEScF015Ii4uDnFx5XeyDVWRT4WqPgD0AbDOZflJAE+Wtf1NN92kubm5mpubq+np6df89BcR5xi+41G/fn0dPXq0/uUvf3GOhTseUVFROnHiRF21apWeP39eP/7441J13nLLLfr8889renq65ufn69WrV/Xq1as6aNCgYtuFhYXpnXfeqR988IHm5OQ4t3M8tm7dWqru2NhYffrpp3Xr1q3F6i75GDJkiNser+sxiKKiojJf7zoO7Hj07NlTp02bpjt37iw1tlhWPefOndPrrruuWD0tWrTQ+++/X1evXl1mL7agoKDMOseNG1esvpCQEB01apS+9957mpOTc80eTGFhYZn1vvvuu8XqdT1G8OOPP1ZoPPVav9Nt27aV+p1269ZNn3rqKd26dasWFRWVW7+D1Wots50jR45ocHBwsXYcx2E2bNig+fn5buvcs2dPmf8ne/fuLbO906dPO49POR6tWrXSBx98UL/44gu9fPlyhferMvt59uzZUv+7lTnWVRkFBQU6Z84cbd68eZm/o7lz51Zbe0ZBBXv43k74gQB+BtAOvx607VrW9q4HbSdMmOD85+3cubM2bNhQw8LC9K677tJFixY5D8y2adNGH374YV23bp1euXJFVVVffPFFZ6J74YUXSiW6oqIijY2N1fr16+uYMWN07ty5+u9//9vtL9LRjus/XnkHQFNSUrROnTo6bNgwnT17th46dOia2zs4Dma5Hmwt65/cHavVqj169KhUIi3L66+/roBtmOK5557T7du3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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f91502b8358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# What about the other trajectories?\n",
    "\n",
    "three_quarter_turn_data = process_data(\"trajectory_1.pickle\")\n",
    "solution.show_x_y(three_quarter_turn_data, increment=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9150201860>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "merge_data = process_data('trajectory_2.pickle')\n",
    "solution.show_x_y(merge_data,increment=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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D7766iubZZ6entZ/0/z8fHTt2rUxu0cuUt97+7j8CL+2CbUcxXJq/JSSkqJ/+MMfdOvWrbUeNfz610djp+TkZJ0+fbpu3ry53kcqycnJje5PRLR///76xBNPaHFxcb37/NWlR9mNmTp06KC33367LlmyxOavwPoIDg5udL+enp46ePBg/ctf/qI//PCDPvDAA832c9O9e3edNm2abty4scHfX3I+1PPIn5d6upHGHmEC1UeNPXr0QHJyMmJjY5uuqEu0b98eycnJSE5Odnisur7Cw8PRo0cP9OjRo8atK5whISHB+n115pVUUVFRSE7BByUiAAAHlElEQVRORo8ePRAaGtps/fj7+1v3Lz4+vtn6IedrscM+0dHROnXqVFy8eBHHjh3Dyy+/jNLS0gZvp23btjWGi4KCgmpsKyIiAllZWTh48CA2bNhgsywqKgqDBg3CwYMH8cknn9gsi42NRVZWFrKyshAVFYWcnBybYR8fHx/069cPWVlZyMzMRFVVFYYOHYozZ85Y23h4eCA1NRU9evTAq6++arP9yMhIDBs2DMOGDUPnzp1rHfp65JFH8M4779jMS0xMtA5P9OvXr14n9EpKSlBWVmZ32fz58/HKK6/YzOvatavNEEhjbvO8Z8+eWoc/7rnnHnzxxRc289LS0pCfnw+z2YzU1FSHTgSfO3euxvDKrw4ePIjc3FybYR9fX18MGTIEZrMZN954I8LC7D3htH527dpVY/gRAFQVt9xyi83wo4igX79+1qGY5ORkm/0+dOgQjh8/brefZ555Bi+//LLNvLCwMAwaNAgnTpyoMVzYpUsX679pZmYmb93tZtx+2OfSE74ffPCBzZ/5QPXJq4SEBAWg0dHROnLkSDWZTOrt7a033HCDLliwQNesWaMioj4+Ppqbm6t//etftbi4WMPCwlRE9Nprr9VZs2bptm3btKqqSsvKyjQwMFBNJpNmZGTo3LlzdefOnVpVVaVHjx5VX19f9fDw0EGDBumf//xn3b17t82fWw8++KAC/znhvGLFCj179qxNm7/+9a8K2J5Q/vUE29ixYxWAxsXF6bRp03Tz5s02J3tr89NPP2mbNm2sQwHz58/XPXv21LleQ5SVlWlAQID15Oel35vmUlhYqAC0TZs2mp+fry+99JKWlJQ0W3+Xmzx5svXna8KECbpq1So9d+5cs/e7atUqBaDt2rXTW2+9VV977TU9evRoo7Z17tw5jYiIsP68P/744/r1119rVVWVnjx5UoOCgq54gQK5H7j7Cd9LH+ayaNEibN++HQMHDsTOnTuRk5ODxMREPPfcc7jhhhvQs2dPrF69GufPn8eQIUPg7+8PAHj//fehqrj++uvRrl07AEBhYSG2b9+OvLw8hISE2PS5ceNG7Nu3D7m5uejYsaPNsk8++QRHjhxBdnY2AgMDa9RbUVGBZ555BoMHD0ZKSkqtR6PPP/88rr76avTr18/mcsnz58/j6aeftntUV5e1a9eitLQU2dnZNicBm9Jnn32G77//3u73prksW7YMbdq0weDBg+Hr6+uUPn9VXl6OZ599FkOGDLFeJuwsixcvRnh4ODIzMx3+1HVRURG+/vpr5OXl1Rge2rRpE7777rsrXppM7qe+R/5uEf5ERFQ/9Q1/nvAlIjIghj8RkQEx/ImIDIjhT0RkQAx/IiIDarFX+4jIzwB+qKNZMIBjTijHWbg/LVdr2heA+9PSObI/nVW1U12NWmz414eIFNbnkiZ3wf1puVrTvgDcn5bOGfvDYR8iIgNi+BMRGZC7h/9CVxfQxLg/LVdr2heA+9PSNfv+uPWYPxERNY67H/kTEVEjtIrwF5HJIrJbRHaIyDxX19NYIvKIiBwUka8sU56ra2oKIvKgiKiIuPWtI0XkMRHZZvm3+VhEIlxdkyNE5EkR+dayT++JSICra3KEiNxmyYAqEXHbK39EJMeSZ9+JyPTm6sftw19EfgPgZgC9VDUZwFMuLslR81U1xTKtcnUxjhKRaABDAPzo6lqawJOq2ktVUwCsAPBHVxfkoDUAeqhqLwDFAGa4uB5HbQdwC4ANdTVsqUTEA8DzAHIBJAG4Q0SSmqMvtw9/ABMAzFHVCwCgqkddXA/Zmg9gGqofxuPWVPXSp8z7wc33SVU/VtUKy9vNAKJcWY+jVHWXqu52dR0O6gPgO1Xdp6rlAN5A9cFtk2sN4d8NwEAR+VxE1ovINa4uyEH3Wv4Mf0VEaj41xo2IyE0ADqrq166upamIyCwROQDgLrj/kf+l/g+A1XW2ouYWCeDAJe9LLPOaXN0PdW0BRGQtAHsPS52J6n0IBHAtgGsAvCUiV2kLvYypjn15AcBjqD6ifAzAn1H9n7LFqmN/HgJwg3MrcsyV9kdV31fVmQBmisgMAPcC+L9OLbCB6tofS5uZACoALHVmbY1Rn/1xc/YeGdcsWeYW4a+q19e2TEQmAHjXEvZfiEgVqu+L8bOz6muIK+3LpUTkb6geV27RatsfEekJoAuAry2PQIwCUCQifVT1sBNLbJD6/vsAeB3ASrTw8K9rf0RkDIB8ANe11AOmSzXg38ddlQCIvuR9FICfmqOj1jDs8w8AgwFARLoB8Iab3uBJRMIveTsM1Sew3JKqfqOqIaoaq6qxqP6hTm3JwV8XEYm/5O1NAL51VS1NQURyAPwewE2qetbV9RAA4EsA8SLSRUS8AYwAsLw5OnKLI/86vALgFRHZDqAcwBh3OIKpxTwRSUH1n3n7AYx3bTl0mTkikgCgCtV3nP0fF9fjqOcA+ABYY/nrbLOquu0+icgwAAsAdAKwUkS+UtVsF5fVIKpaISL3AvgIgAeAV1R1R3P0xU/4EhEZUGsY9iEiogZi+BMRGRDDn4jIgBj+REQGxPAnIjIghj8RkQEx/ImIDIjhT0RkQP8fGSFneqqpECYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9149fd0278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "parallel_park = process_data(\"trajectory_3.pickle\")\n",
    "solution.show_x_y(parallel_park,increment=5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**How do you make those cool arrows?!**\n",
    "\n",
    "I did a Google search for \"python plot grid of arrows\" and the second result led me to some [demonstration code](https://matplotlib.org/examples/pylab_examples/quiver_demo.html) that was really helpful. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Testing Correctness\n",
    "Testing code is provided at the bottom of this notebook. Note that only `get_speeds`, `get_x_y`, and `get_headings` are tested automatically. You will have to \"test\" your `show_x_y` function by manually comparing your plots to the expected plots. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Initial Vehicle State\n",
    "\n",
    "The vehicle always begins with all state variables equal to zero. This means `x`, `y`, `theta` (heading), `speed`, `yaw_rate`, and `acceleration` are 0 at t=0."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Your Code!\n",
    "Complete the functions in the cell below. I recommend completing them in the order shown. Use the cells at the end of the notebook to test as you go."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 254,
   "metadata": {},
   "outputs": [],
   "source": [
    "from math import cos, sin\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "def get_speeds(data_list):\n",
    "    displacement = [p[1] for p in data_list]\n",
    "    time = [p[0] for p in data_list]\n",
    "\n",
    "    speed = []\n",
    "    for i in range(len(displacement)):\n",
    "        if i > 0:\n",
    "            speed.append((displacement[i]-displacement[i-1])/(time[i]-time[i-1]))\n",
    "        else:\n",
    "            speed.append(0)\n",
    "    return speed\n",
    "\n",
    "def get_headings(data_list):\n",
    "    yaw = [p[2] for p in data_list]\n",
    "    time = [p[0] for p in data_list]\n",
    "    head = []\n",
    "    for i in range(len(yaw)):\n",
    "        if i > 0:\n",
    "            head.append(head[-1]+(yaw[i]*(time[i]-time[i-1])))\n",
    "        else:\n",
    "            head.append(yaw[i])\n",
    "    return head\n",
    "\n",
    "def get_x_y(data_list):\n",
    "    displacement = [p[1] for p in data_list]\n",
    "    head = get_headings(data_list)\n",
    "    x_y = []\n",
    "    for i in range(len(displacement)):\n",
    "        if i > 0:\n",
    "            distance = (displacement[i]-displacement[i-1])\n",
    "            x_cos = cos(head[i])\n",
    "            last_value = x_y[-1]\n",
    "            y_sin = sin(head[i])\n",
    "            x_y.append((last_value[0]+(distance*x_cos),last_value[1]+(distance*y_sin)))\n",
    "        else:\n",
    "            x_y.append((0,0))\n",
    "    return x_y\n",
    "def show_x_y(data_list, increment=1):\n",
    "    headings = get_headings(data_list)\n",
    "    X = [p[0] for p in get_x_y(data_list)]\n",
    "    Y = [p[1] for p in get_x_y(data_list)]\n",
    "    h_x = np.cos(headings)\n",
    "    h_y = np.sin(headings)\n",
    "    Q = plt.quiver(X[::increment],\n",
    "                   Y[::increment],\n",
    "                   h_x[::increment],\n",
    "                   h_y[::increment],\n",
    "                   units='x',\n",
    "                   pivot='tip')\n",
    "    qk = plt.quiverkey(Q, 0.9, 0.9, 2, r'$1 \\frac{m}{s}',\n",
    "                       labelpos='E', coordinates='figure')\n",
    "    plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Testing\n",
    "Test your functions by running the cells below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 255,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PASSED test of get_speeds function!\n"
     ]
    }
   ],
   "source": [
    "from testing import test_get_speeds, test_get_x_y, test_get_headings\n",
    "\n",
    "test_get_speeds(get_speeds)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 256,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PASSED test of get_x_y function!\n"
     ]
    }
   ],
   "source": [
    "test_get_x_y(get_x_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 257,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "PASSED test of get_headings function!\n"
     ]
    }
   ],
   "source": [
    "test_get_headings(get_headings)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 258,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f9149aa1828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "show_x_y(data_list)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
